home *** CD-ROM | disk | FTP | other *** search
- (* :Title: Initialization for signal processing supporting objects *)
-
- (* :Authors: Brian Evans, James McClellan *)
-
- (* :Summary: This is an initialization file only *)
-
- (* :Context: Global` *)
-
- (* :PackageVersion: 2.74 *)
-
- (*
- :Copyright: Copyright 1989-1992 by Brian L. Evans
- Georgia Tech Research Corporation
-
- Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose and without fee is
- hereby granted, provided that the above copyright notice
- appear in all copies and that both that copyright notice and
- this permission notice appear in supporting documentation,
- and that the name of Georgia Tech or Georgia Institute of
- Technology not be used in advertising or publicity pertaining
- to distribution of the software without specific, written prior
- permission. Georgia Tech makes no representations about the
- suitability of this software for any purpose. It is provided
- "as is" without express or implied warranty.
- *)
-
- (* :History: *)
-
- (* :Keywords: *)
-
- (* :Source: *)
-
- (* :Warning: *)
-
- (* :Mathematica Version: 1.2 or 2.0 *)
-
- (* :Limitation: *)
-
-
- (* B E G I N I N I T I A L I Z A T I O N *)
-
-
-
- Which[
-
-
- (* Check to make sure that these have not already been loaded *)
-
- MemberQ[ $ContextPath, "SignalProcessing`Support`" ],
-
- support::loaded =
- "Version 2.74 of the signal processing support packages has \
- already been loaded",
-
-
- (* For Mathematica 2.0, we only define the stubs *)
-
- TrueQ[ $VersionNumber >= 2.0 ],
-
- Print["Defining stubs for objects in version 2.74 of the \
- signal processing support packages ..."];
-
- DeclarePackage[ "SignalProcessing`Support`Convolution`", {
- "$ConvolutionDomain", "Area", "AutoCorrelation",
- "ConvertFromList", "ConvertToList",
- "CTPiecewiseConvolution", "DTPiecewiseConvolution",
- "IntervalQ", "PiecewiseConvolution",
- "PiecewisePlot", "PlotList",
- "SetConvolutionDomain", "SimplifyList",
- "ValidIntervalQ" } ];
-
- DeclarePackage[ "SignalProcessing`Support`DataType`", {
- "AddDataType", "AllDataTypes", "AssociateDataType",
- "CombineDataType", "ComplexAntiSymmetric",
- "ComplexSymmetric", "DataType", "DataTypeQ",
- "DataTypes", "DefConstant", "FTDataType",
- "GetPosition", "Imaginary", "Irrational",
- "IrrationalQ", "IsComplexQ", "IsImaginaryQ",
- "IsIntegerQ", "IsIrrationalQ", "IsRationalQ",
- "IsRealQ", "SubDataTypeQ", "SymbolDataType",
- "SymbolDataTypeQ", "UnAssociateDataType" } ];
-
- DeclarePackage[ "SignalProcessing`Support`FilterSupport`", {
- "Analog", "Bandpass", "Bandstop", "Bessel",
- "BilinearTransformation", "Butterworth", "CFIR",
- "CIIR", "ChebyshevI", "ChebyshevII", "DesignFilter",
- "Digital", "Elliptic", "FilterOrder",
- "FilterParameters", "FIR", "Highpass", "IIR",
- "IIRFunction", "Lowpass" } ];
-
- DeclarePackage[ "SignalProcessing`Support`LatticeTheory`", {
- "BezoutNumbers", "ColumnHermiteForm",
- "CommutableResamplingMatricesQ", "DiagonalMatrixQ",
- "DistinctCosetVectors", "EuclidFactors",
- "GCLD", "GCRD", "IncList", "ImpulseTrain",
- "IntegerVectorQ", "LCLM", "LCRM",
- "NormalizeSamplingMatrix", "RegUnimodularResMatrixQ",
- "RelativelyPrime", "ReorderResampling",
- "ResamplingMatrix", "ResamplingMatrixMod",
- "RowHermiteForm", "SmithFormSameU", "SmithFormSameV",
- "SmithNormalForm", "SmithOrderedForm",
- "SmithReducedForm", "UpsampledSystem" } ];
-
- DeclarePackage[ "SignalProcessing`Support`ROC`", {
- "FindRMinus", "FindRPlus", "GetRMinus", "GetRPlus",
- "InfCheck", "IntersectsROC", "LTransData",
- "LVariables", "Rminus", "Rplus", "Transform",
- "WithinROC", "ZTransData", "ZVariables" } ];
-
- DeclarePackage[ "SignalProcessing`Support`SigProc`", {
- "$DeltaScaling", "Aliasby", "CConvolve",
- "CircularShift", "Convolve", "Continuous",
- "CPulse", "CStep", "Delta", "DeltaIntegrate",
- "DeltaPlot", "DFT", "DTFT", "Difference",
- "Dirichlet", "Discrete", "DiscreteGraphics",
- "Domain", "Downsample", "DummyVariables",
- "Extent1D", "FT", "GetDeltaFunctions", "Impulse",
- "Interleave", "IntervalsToFunction", "InvDFT",
- "InvDTFT", "InvFT", "InvL", "InvZ", "L",
- "LineImpulse", "OperatorInOperExpr", "OperatorName",
- "ParametersInOperExpr", "Periodic",
- "PolyphaseDownsample", "PolyphaseUpsample",
- "Pulse", "RationalGCD", "Rev", "RewriteSummations",
- "ScaleAxis", "ScalingFactor", "SequencePlot",
- "SequenceToFunction", "Shift", "SignalCleanup",
- "SignalPlot", "SignalsInOperExpr", "Sinc",
- "SPSimplify", "Step", "Summation", "TheFunction",
- "ToContinuous", "ToDiscrete", "Unit", "Upsample",
- "UpsampledFunction", "UpsampleFactor",
- "UpsampleSequence", "Z",
- "AliasedSinc", "AliasSinc", "ASinc" } ];
-
- DeclarePackage[ "SignalProcessing`Support`SupCode`", {
- "AllSubsets", "Arrow2D", "AssociateItem", "Assuming",
- "CirclePS", "Combine", "ComplexQ", "ComplexTo2DCoord",
- "ComplexTo2DCoordList", "ConstantQ", "ConstantTerm",
- "Dialogue", "Element", "EmptyQ", "GenerateCode",
- "GeneratePattern", "GenerateSymbol",
- "GetAllExponents", "GetAllFactors",
- "GetAllShiftFactors", "GetArgs",
- "GetOperatorVariables", "GetRoot", "GetRootList",
- "GetShiftFactor", "GetStateField",
- "GetVariables", "GetValue",
- "HasAttributes", "ImaginaryQ", "InRange",
- "InfinityQ", "InformUserQ", "ListQ",
- "MixedPolynomialQ", "MyApart", "MyCollectAll",
- "MyFreeQ", "MyMessage", "NullPlot",
- "PatternQ", "PointwisePlot", "PrintIt",
- "ProtectIt", "RationalQ", "RationalFunctionQ",
- "RationalPolynomialQ", "RealQ", "RealValuedQ",
- "RemoveOptions", "ReplaceWith", "RuleAppliesQ",
- "SameFormQ", "Second", "SetExclusion",
- "SetStateField", "SPfunctions", "SPLessGreaterRules",
- "SPoperators", "SPsignals", "SPSimplificationRules",
- "StripPackage", "SubsetQ", "TableLookup",
- "Third", "ToCollection", "ToList", "UnprotectIt",
- "VariableQ", "ZeroQ", "ZPolynomial" } ];
-
- DeclarePackage[ "SignalProcessing`Support`TransSupport`", {
- "AddT", "ConjT", "ConvolveT", "DerivativeT",
- "DomainScale", "IntegrateT", "Linear",
- "LineImpulsemDT", "MagRangeScale", "MagPhasePlot",
- "MultiDInvTransform", "MultiDLookup",
- "MultiDTransform", "MultT", "PhaseRangeScale",
- "PoleZeroPlot", "Radian", "ROCPlot",
- "RootLocus", "ScaleT", "ShadedAnnulus", "Stable",
- "SubT", "SubstituteForT", "TransformFixUp",
- "TransformDialogue", "TransformLookup",
- "MagnitudePhasePlot", "RootLocusPlot" } ];
-
- DeclarePackage[ "SignalProcessing`Support`Tree`", {
- "AddChildToTree", "DeleteFromTree",
- "InitTree", "SubTree" } ];
-
- AppendTo[$ContextPath, "SignalProcessing`Support`"];
-
- support::loaded =
- "Stubs for the supporting routines, objects, and rules for the
- signal processing package have been loaded successfully.",
-
-
- (* Load necessary files in order of hierarchy, bottom up. *)
-
- True,
-
- Print["Loading version 2.74 of the signal processing support packages ..."];
-
- Needs[ "SignalProcessing`Support`SupCode`" ]; (* level a *)
-
- Needs[ "SignalProcessing`Support`FilterSupport`" ]; (* level b *)
- Needs[ "SignalProcessing`Support`SigProc`" ];
-
- Needs[ "SignalProcessing`Support`ROC`" ]; (* level c *)
- Needs[ "SignalProcessing`Support`Convolution`" ];
-
- Needs[ "SignalProcessing`Support`TransSupport`" ]; (* level d *)
-
- AppendTo[$ContextPath, "SignalProcessing`Support`"];
-
- support::loaded =
- "Supporting routines, objects, and rules for the signal \
- processing package have been loaded successfully."
-
- ]
-
- (* Temporary messages *)
-
- support::error = "The current context should be Global` and it is not."
- support::change =
- "The loading process has changed such that the files Tree.m and \
- DataType.m are no longer automatically loaded (the signal \
- processing packages no longer rely on the definitions in these files)."
-
- (* Error checking *)
-
- If [ SameQ[$Context, "Global`"],
- Message[ support::loaded ],
- Message[ support::error ] ]
-
- If [ ! TrueQ[ $VersionNumber >= 2.0 ],
- Message[ support::change ] ]
-
- (* Remove temporary messages *)
-
- support::error = .
- support::loaded = .
- support::change = .
-
-
- (* E N D I N I T I A L I Z A T I O N *)
-
- Null
-